package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.vo.PageInfo;
import com.tanhua.dubbo.server.pojo.RecommendUser;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface RecommendUserApi {
    /**
     * 查询一位与所得ID匹配得分最高的推荐用户
     *
     * @param userId 用户ID
     * @return RecommendUser
     */
    RecommendUser queryWithMaxScore(Long userId);

    /**
     * 分页查找与所得ID匹配的用户,按照得分倒序排序
     *
     * @param userId 用户ID
     * @param pageNum 页码
     * @param pageSize 页大小
     * @return PageInfo
     */
    PageInfo<RecommendUser> queryPageInfo(Long userId, Integer pageNum, Integer pageSize);

    /**
     * 查询好友的缘分值
     *
     * @param userId 好友的id
     * @param toUserId 我的id
     * @return 好友对于我的缘分值
     */
    Double queryScore(Long userId, Long toUserId);

    /**
     * 查询探花列表，查询时需要排除不喜欢列表用户
     *
     * @param userId
     * @param count
     * @return
     */
    List<RecommendUser> queryCardList(Long userId, Integer count);
}